/*-------------------------------------------------------------------------
 *
 * basebackup.h
 *	  从 replication/basebackup.c 导出的内容.
 *
 * Portions Copyright (c) 2010-2022, PostgreSQL Global Development Group
 *
 * src/include/backup/basebackup.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef _BASEBACKUP_H
#define _BASEBACKUP_H

#include "nodes/replnodes.h"

/*
 * BASE_BACKUP命令中MAX_RATE选项的最小值和最大值。
 */
#define MAX_RATE_LOWER	32
#define MAX_RATE_UPPER	1048576

/*
 * 有关表空间的信息
 *
 * 在某些用法中，“path”可以为NULL，以表示PGDATA目录本身。
 */
typedef struct
{
	char	   *oid;			/* 表空间的OID，作为十进制字符串 */
	char	   *path;			/* 表空间目录的完整路径 */
	char	   *rpath;			/* 如果在PGDATA内则为相对路径，否则为NULL */
	int64		size;			/* 发送的总大小；如果未知则为-1 */
} tablespaceinfo;

extern void SendBaseBackup(BaseBackupCmd *cmd);

#endif							/* _BASEBACKUP_H */
